home *** CD-ROM | disk | FTP | other *** search
/ Workbench Design / WB Collection.iso / workbench werkzeuge / appicon tools / trashmaster / docs / trashmaster.guide (.txt) < prev    next >
Amigaguide Document  |  1996-04-07  |  15KB  |  297 lines

  1. @database Trashmaster.guide
  2. @Master Trashmaster.texinfo
  3. @Width 76
  4. This is the AmigaGuide
  5.  file Trashmaster.guide, produced by Makeinfo-1.55 from 
  6. the input file Trashmaster.texinfo.
  7. @Node Main "Trashmaster.guide"
  8.                              TRASHMASTER V1.7
  9.            The @{i}ultimate@{ui} in byte disposal for the Amiga.
  10.           Copyright (C) 1994 By Aric R Caley and Greywire designs
  11.                                 3 July 1994
  12.  @{" Who what where when why " Link "Who what where when why"} 
  13.  @{" How " Link "How"} 
  14.  @{" Installation " Link "Installation"} 
  15.  @{" Usage " Link "Usage"} 
  16.  @{" Options " Link "Options"} 
  17.  @{" Wish list " Link "Wish list"} 
  18.  @{" Formats and Templates " Link "Formats and Templates"} 
  19. @EndNode
  20. @Node "Who what where when why" "Trashmaster.guide/Who what where when why"
  21. @Next "How"
  22. @Prev "Main"
  23. @Toc "Main"
  24. Who, what, where, when, why
  25. ***************************
  26.    Written by Aric R Caley, AKA Dances V2.0, Dances With Coyotes, Major, Mr
  27. Coyote, and other handles/nicknames.  :) See the readme file if you wish to
  28. contact me.
  29.    See @{"Readme" Link "readme.guide/main"}!
  30. WHERE
  31. =====
  32.    Best place is in your WBStartup drawer!
  33.    The current version, 1.7, was released on 3 July 1994.  The first public
  34. release of Trashmaster was Jan 23 1992.
  35.    I had always wanted to write something like this but until now, I couldnt
  36. do it.  Not that it was particularly easy to do, even under Workbench 2.0.
  37. @EndNode
  38. @Node "How" "Trashmaster.guide/How"
  39. @Next "Installation"
  40. @Prev "Who what where when why"
  41. @Toc "Main"
  42. How I did it
  43. ************
  44.    The main problem is with getting finicky old Workbench to stay "in sync"
  45. with the filing system..  IE, removing its icons when a file is deleted.
  46. Thanks to a new function called @{b}DeleteDiskObject()@{ub}, it's possible to get
  47. workbench to remove an icon.  Unfortunately Workbench still is kinda
  48. brain-dead...  when you have it display ALL files, it spontaneously creates
  49. icons in memory for files that dont have them...  which results in
  50. @{b}DeleteDiskObject()@{ub} not working (no file on disk) and Workbench not removeing
  51. the icon.  The only solution I could come up with is to @{b}PutDiskObject()@{ub} and
  52. then delete this icon, which works more or less pretty well.  There are
  53. still, however, problems.  Workbench, it seems, will "lock" a directory if
  54. its window is open on the Workbench screen.  This means I can't delete it
  55. until it's closed...  not too big a deal, since when you delete the icon the
  56. window closes automaticaly.  But what if something @{i}else@{ui} has that directory
  57. locked?  Then I couldn't delete it after all...  that means I need to put
  58. the icon back!  heheh.  But I think I've come up with a good solution.
  59.    Another problem is that there's no way to find out where the AppIcon is,
  60. within the WorkBench window -- so there is no way to implement a snapshot
  61. option within your application (of course, the root problem is that
  62. Workbench doesn't provide any way to "hook" into the Workbench operations
  63. like snapshot, info, etc.  See below for my solution to this).
  64.    Finaly, one last problem exists that I couldn't fix.  If you drop a
  65. drawer onto Trashmaster that does not have a directory (but obviously has an
  66. .info), then Trashmaster can't delete it.  The reason why is that Workbench
  67. tries to get a lock on any directory icons, which it passes to Trashmaster,
  68. but since there is no directory it can't lock it.  So Trashmaster gets a
  69. message with no arguments and it can't figure things out.  This is only a
  70. minor problem.
  71.    This seems like a good place to voice some opinions on Workbench 2.0, and
  72. what I'd like to see in the future.
  73. @{"Wish list" Link "Wish list"}
  74. @EndNode
  75. @Node "Wish list" "Trashmaster.guide/Wish list"
  76. @Next "Formats and Templates"
  77. @Prev "Options"
  78. @Toc "Main"
  79. Wish list
  80. *********
  81.    @{b}*@{ub} DiskObjects should be a BOOPSI class.
  82.         @{b}*@{ub} An "icon" class would have methods for all the normal Workbench
  83.           operations; like info, double click, delete, snapshot, copy/move,
  84.           etc.  That way, an AppIcon could give an "about" requester with
  85.           the info menu function, and behave in every way just like a
  86.           regular icon.  Say you had an icon for a network machine...  info
  87.           could put up a requester saying what the node's name was, CPU
  88.           class, whether it was Ethernet or serial, etc.  neat huh?  A
  89.           Drawer could open it's own type of list window..  perhaps one
  90.           with a "tree" display.  You could replace the standard operation
  91.           with new ones (via hooks into the DiskObject class).  This makes
  92.           Workbench extremely flexible and extendable and would allow third
  93.           party people to add tons of functionality to Workbench (I should
  94.           be able to make Workbench as powerfull as DiskMaster or DirOpus!)
  95.         @{b}*@{ub} This BOOPSI icon would be able to have more than just a bitmap
  96.           image; like actual structured drawing objects.  Of course, this
  97.           introduces the problem of how to store objects on disk.
  98.         @{b}*@{ub}     @{i}Any@{ui} application would now be able to use icons easily (they
  99.           dont have to have anything to do with Workbench).  You could even
  100.           drag icons @{i}from@{ui} an application @{i}to@{ui} a Workbench window to save a
  101.           file...
  102.    @{b}*@{ub} Clipboard support, with a "view clipboard" window.  Cut and paste icon
  103.      names/file names, icon images, etc.
  104.    @{b}*@{ub} Definable default tools for projects, with file recognition so it knows
  105.      what tool to run (in case there's no icon or the normal tool can't be
  106.      found).  And how about a small database that contains application
  107.      names and then a path to where it is?  Actualy, I guess you could have
  108.      a "Applications" directory, with icons that are linked to wherever the
  109.      app is -- and Workbench would check here first for tools.
  110.    @{b}*@{ub} "Left out" icons could be done in the same way, so that the app's icon
  111.      is still visible in it's Drawer, and so that Snapshoting the left out
  112.      icon doesn't ruin it's original coordinates.
  113.    @{b}*@{ub} Something needs to be done about the list windows..  they are slow and
  114.      clumsy, and are missing what I think is a great feature:  a "Tree"
  115.      mode.
  116.    @{b}*@{ub} Better tracking of when other apps change/add/delete files.
  117.    @{b}*@{ub} ARexx interface!
  118.    @{b}*@{ub} Built in Trashmaster :)  Built in ToolManager-like features.
  119.    OK, I'll step down off my soapbox now!  Anyone want to help me write a
  120. Workbench replacement?  No matter, I'll just do it myself..  :) I think I
  121. will code name it - "Encino"!  In the tradition of Microsoft ("Chicago",
  122. "Cairo", etc).  Maybe I'll put in a Windows NT emulation mode (a simple
  123. AllocMem(15000000,MEMF_ANY) and a busy loop to slow things down...  :).
  124. @EndNode
  125. @Node "Installation" "Trashmaster.guide/Installation"
  126. @Next "Usage"
  127. @Prev "How"
  128. @Toc "Main"
  129. Installing Trashmaster
  130. **********************
  131.    Installing Trashmaster is simple.  Just copy Trashmaster into your
  132. "WBStartup" drawer on your boot disk.
  133.    If you want to run Trashmaster in a language other than english, check in
  134. the "catalogs/" directory for your language (you want the directory, not
  135. the *.ct file).  If it's there, then copy it to "LOCALE:catalogs/", or to
  136. whatever directory you put Trashmaster into.  If your language isn't there,
  137. then perhaps you could send me a translation and I'll put it in the next
  138. release.
  139. @EndNode
  140. @Node "Usage" "Trashmaster.guide/Usage"
  141. @Next "Options"
  142. @Prev "Installation"
  143. @Toc "Main"
  144. Using Trashmaster
  145. *****************
  146. Usage
  147. =====
  148.    Trashmaster can be run from Workbench or the command line.  All options
  149. can be specified either from Tooltypes or from the command line (see
  150. @{"Options" Link "Options"}).
  151.    Obviously, Workbench must be running (and will be, unless you were
  152. naughty and modified your startup-sequence).  Trashmaster will open an icon
  153. on the Workbench screen; this icon will look the same as the icon you ran
  154. Trashmaster from.  BTW, the icon is supposed to look like a black hole...
  155.    If you want to be able to format disks with Trashmaster, you must have
  156. @{b}WBStart-Handler@{ub} installed in your @{b}L:@{ub} directory.  The @{b}WBStart-Handler@{ub} is
  157. included with ToolManager, a must-have utility, or in it's own separate
  158. distribution, both of which should be available on a Fish disk or any good
  159. FTP site, or failing that, from me.  ToolManager and WBStart are Copyright
  160. (C) 1991-94 Stefan Becker.  The default formating program is the same as
  161. Workbench's formatter.
  162.    To use Trashmaster, simply drag files and drop them on the icon.  A
  163. requester will come up, similar to Workbench's Delete confirmation
  164. requester.  If you really want to delete the file(s) or dir(s), click @{b}OK@{ub};
  165. if not, hit @{b}CANCEL@{ub}.  Remember, once you hit @{b}OK@{ub}, the files are deleted..
  166. they're @{i}gone@{ui}!  For reals.  Not like the Trashcan.  If you have the
  167. @{b}VERIFYOFF@{ub} tooltype set, you @{i}won't@{ui} get this requester!
  168.    One difference from the Workbench Delete, is the extra option for
  169. Interactive deletion.  With interactive delete, you will get a confirmation
  170. requester for each file you dropped into Trashmaster.  For each file, you
  171. can choose to either delete it, delete all the rest of the files
  172. non-interactively, skip this file, or abort completely.
  173.    If Trashmaster comes across a file that is protected from deletion, it
  174. will bring up a requester with two options, @{b}FORCE@{ub} and @{b}CANCEL@{ub}.  If you
  175. select @{b}FORCE@{ub}, Trashmaster will un-protect the file and delete it!
  176. Selecting @{b}CANCEL@{ub} will of course cancel the operation.  If you have the
  177. @{b}FORCE@{ub} option set, you @{i}won't@{ui} get this requester, the file will simply be
  178. deleted without warning.
  179.    To quit Trashmaster (which you dont really want to do, do you?  :),
  180. double click the AppIcon and select the remove option.
  181.    If you want Trashmaster started automaticly (you DO, dont you?), place it
  182. into the "WBStartup" drawer on your boot disk.
  183. @EndNode
  184. @Node "Options" "Trashmaster.guide/Options"
  185. @Next "Wish list"
  186. @Prev "Usage"
  187. @Toc "Main"
  188. Options
  189. *******
  190.    For a description of the Format and Template lines used below, see
  191. @{"Formats and Templates" Link "Formats and Templates"}.
  192. @{b}Format: ICON <name>@{ub}
  193. @{b}Template: ICON/K@{ub}
  194.      This is the name of a custom icon to be used instead of the default
  195.      icon (the default being Trashmaster's icon)
  196. @{b}Format: NAME <name>@{ub}
  197. @{b}Template: NAME/K@{ub}
  198.      Set this to change the name under Trashmaster's AppIcon.
  199. @{b}Format: FORMATTER <name>@{ub}
  200. @{b}Template: FORMATTER/K@{ub}
  201.      Set to the name of the disk-formatting program of your choice.  The
  202.      program will be started as a Workbench application and passed the disk
  203.      icon to format.
  204. @{b}Format: VERIFYOFF@{ub}
  205. @{b}Template: VERIFYOFF/S@{ub}
  206.      If set, the initial verification requester will @{i}not@{ui} appear.  The
  207.      action performed will be the one defined by the @{b}TYPE@{ub} tooltype.  Use at
  208.      your own risk.  @{i}Note:@{ui} This tooltype has been changed from previous
  209.      versions of Trashmaster.
  210. @{b}Format: TYPE = <INTERACTIVE>@{ub}
  211. @{b}Template: TYPE/K@{ub}
  212.      Applicable only when @{b}VERIFYOFF@{ub} is set.  If set to @{b}INTERACTIVE@{ub}, deletes
  213.      will default to interactive deletes (requireing confirmation for every
  214.      file and directory).
  215. @{b}Format: FORCE@{ub}
  216. @{b}Template: FORCE/S@{ub}
  217.      If set, files that have their protection flags set to delete-protected
  218.      will be deleted without warning.  Otherwise, you'll get a requester
  219.      whenever you try to delete a protected file.  @{i}Note:@{ui} This tooltype has
  220.      been changed from previous versions of Trashmaster.
  221. @{b}Format: X <n>@{ub}
  222. @{b}Template: X/N@{ub}
  223.      This is the X coordinate of the AppIcon.  A -1 will tell workbench to
  224.      find a suitable place for the icon.
  225. @{b}Format: Y <n>@{ub}
  226. @{b}Template: Y/N@{ub}
  227.      This is the Y coordinate of the AppIcon.  A -1 will tell workbench to
  228.      find a suitable place for the icon.
  229.    @{b}VERIFYOFF@{ub}, @{b}TYPE@{ub} and @{b}FORCE@{ub} can work in conjuction.  If you don't want @{i}any@{ui}
  230. anoying verification requesters, you can set @{b}VERIFYOFF@{ub}, @{b}TYPE@{ub} to nothing
  231. (leave it out), and @{b}FORCE@{ub}.    If you always want interactive deletes, set
  232. @{b}VERIFYOFF@{ub} and @{b}TYPE@{ub} to @{b}INTERACTIVE@{ub}.
  233.    Be carefull with these!  If you turn off verification and use the @{b}FORCE@{ub}
  234. option, anything that gets dropped on TrashMaster will be simply deleted
  235. without warning, even if it's protected from deletion.
  236. @EndNode
  237. @Node "Formats and Templates" "Trashmaster.guide/Formats and Templates"
  238. @Prev "Wish list"
  239. @Toc "Main"
  240. Formats and Templates
  241. *********************
  242. Format
  243. ======
  244.    Commands are described with a Format and a Template.  In a Format
  245. specification, the arguments are surounded by brackets to indicate the type
  246. of argument.  The brackets are not typed as part of the command.
  247. @{b}< >@{ub}
  248.      Angle brackets are used to indicate that this argument is @{i}required@{ui}; it
  249.      must be provided or the command will fail.
  250. @{b}[ ]@{ub}
  251.      Square brackets indicate that the argument is optional.  The command
  252.      will run with or without these arguments.
  253. @{b}{ }@{ub}
  254.      Braces indicate that this argument may be given more than once.
  255. @{b}|@{ub}
  256.      The vertical bar separates multiple options, only one of which may be
  257.      specified (mutualy exclusive).
  258. Template
  259. ========
  260.    Templates are a more compact, concise version of Formats (both have their
  261. uses).  Templates are directly supported by the Amiga OS.  Their main
  262. advantage is that they specify the type of data each argument will (should)
  263. be.  Each argument is separated with a comma, and has a specifier code at
  264. the end (always a '/' with a letter).  These are the codes currently
  265. supported:
  266. @{b}/A@{ub}
  267.      Always required.  This argument MUST be given or the command will fail.
  268.      This is equivalent to the Format specifier @{b}"< >"@{ub}.
  269. @{b}/F@{ub}
  270.      Final argument.  The entire rest of the line, regardless of any
  271.      keywords or spaces that may appear in it, is taken as the argument
  272.      string.
  273. @{b}/K@{ub}
  274.      Keyword.  This option will only be filled if this keyword appears in
  275.      the command line.
  276. @{b}/M@{ub}
  277.      Multiple arguments.  This argument will accept any number of strings.
  278.      Anything not matching another option will be added to this option.
  279.      Only one /M will be specified.
  280. @{b}/N@{ub}
  281.      Number.  The argument is a decimal number.
  282. @{b}/S@{ub}
  283.      Switch.  The argument is a boolean switch.  If it is specified, the
  284.      option is true, if it is missing, the option is false (default).
  285. @{b}=@{ub}
  286.      This is used to provide an abbreviation.  @{b}OPT=OPTION@{ub} means that this
  287.      option can be specified with either @{b}OPT@{ub} or @{b}OPTION@{ub}.
  288.    If for some reason you need to specify an argument string (for instance,
  289. a file name) that is the same as one of the options, enclose it in quotes.
  290. For example:
  291.    Hypothetical command Template: SHOW NAME/A
  292.    You type at the shell:
  293.    @{b}  >show name "name"@{ub}
  294.    If you had a file called "name" (I won't ask why...  ), that is how you'd
  295. do it.
  296. @EndNode
  297.